package com.wjw.java.others.math_;

/**
 * Math类常用方法：
 */
public class MathMethod {
    public static void main(String[] args) {
        //1.abs()求绝对值
        int abs = Math.abs(-99);
        System.out.println("abs:"+abs);//abs:99

        //2.pow()求幂
        double pow = Math.pow(2, 3);//2的3次方
        System.out.println("pow:"+pow);//pow:8.0

        //3.ceil()向上取整,返回 >= 该参数的的最小整数
        double ceil = Math.ceil(-3.0001);
        System.out.println("ceil:"+ceil);//ceil:-3.0

        //4.floor()向下取整,返回 <= 该参数的最大整数
        double floor = Math.floor(-4.999);
        System.out.println("floor:"+floor);//floor:-5.0

        //5.round()四舍五入, Math.floor(该参数 + 0.5)
        long round = Math.round(-5.001);
        System.out.println("round:"+round);//round:-5

        //6.sqrt()求开方
        double sqrt = Math.sqrt(9.0);
        System.out.println("sqrt:"+sqrt);//sqrt:3.0

        //7.random()求 0 <= x < 1之间的随机小数
        double random = Math.random();
        /**
         * 8.求a到b之间的随机数：
         * 公式为 (int)(a + Math.random() * (b - a + 1))
         *
         * 如求2到7之间的随机数：
         * 公式为 (int)(2 + Math.random() * (7 - 2 + 1))
         */
        for (int i = 0; i < 20; i++) {
            int result = (int) (2 + Math.random() * (7 - 2 + 1));
            System.out.println("result:"+result);
        }

        //9.max()求最大值和min()最小值
        int max = Math.max(-99, -88);
        System.out.println(max);//-88
        int min = Math.min(99, 88);
        System.out.println(min);//88

    }
}
